[INFO] fetching crate lib_battleship 2.1.0...
[INFO] testing lib_battleship-2.1.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate lib_battleship 2.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate lib_battleship 2.1.0
[INFO] finished tweaking crates.io crate lib_battleship 2.1.0
[INFO] tweaked toml for crates.io crate lib_battleship 2.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate lib_battleship 2.1.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 02ded152fb0dc9c3a903ca690dac80e169e5f81d22b0a45da185be6b03ce19d2
[INFO] running `Command { std: "docker" "start" "-a" "02ded152fb0dc9c3a903ca690dac80e169e5f81d22b0a45da185be6b03ce19d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02ded152fb0dc9c3a903ca690dac80e169e5f81d22b0a45da185be6b03ce19d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02ded152fb0dc9c3a903ca690dac80e169e5f81d22b0a45da185be6b03ce19d2", kill_on_drop: false }`
[INFO] [stdout] 02ded152fb0dc9c3a903ca690dac80e169e5f81d22b0a45da185be6b03ce19d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05f628ef3375d8f4f2a24558296f0f23fa1957945a018e6298fdf3ee5e3d39bd
[INFO] running `Command { std: "docker" "start" "-a" "05f628ef3375d8f4f2a24558296f0f23fa1957945a018e6298fdf3ee5e3d39bd", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling lib_battleship v2.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/battlefield/ship_status.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let _ = mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/battlefield/ship_status.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |             mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let _ = mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s
[INFO] running `Command { std: "docker" "inspect" "05f628ef3375d8f4f2a24558296f0f23fa1957945a018e6298fdf3ee5e3d39bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05f628ef3375d8f4f2a24558296f0f23fa1957945a018e6298fdf3ee5e3d39bd", kill_on_drop: false }`
[INFO] [stdout] 05f628ef3375d8f4f2a24558296f0f23fa1957945a018e6298fdf3ee5e3d39bd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0c4d2e1faf77f13e9ef9f03274e9435c305c77f9e886bbd8226cd81f307a897d
[INFO] running `Command { std: "docker" "start" "-a" "0c4d2e1faf77f13e9ef9f03274e9435c305c77f9e886bbd8226cd81f307a897d", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/battlefield/ship_status.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let _ = mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/battlefield/ship_status.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |             mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let _ = mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lib_battleship v2.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/battlefield/ship_status.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let _ = mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/battlefield/ship_status.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |             mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let _ = mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.24s
[INFO] running `Command { std: "docker" "inspect" "0c4d2e1faf77f13e9ef9f03274e9435c305c77f9e886bbd8226cd81f307a897d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c4d2e1faf77f13e9ef9f03274e9435c305c77f9e886bbd8226cd81f307a897d", kill_on_drop: false }`
[INFO] [stdout] 0c4d2e1faf77f13e9ef9f03274e9435c305c77f9e886bbd8226cd81f307a897d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c9ff2cbbbec9475b4305589e99e6b819eeae65eec6d787585153d9f9fc2119d1
[INFO] running `Command { std: "docker" "start" "-a" "c9ff2cbbbec9475b4305589e99e6b819eeae65eec6d787585153d9f9fc2119d1", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]   --> src/battlefield/ship_status.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |             mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 45 |             let _ = mem::replace(&mut self.status_p1[ship_type_id], curr_val - 1);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]   --> src/battlefield/ship_status.rs:49:13
[INFO] [stderr]    |
[INFO] [stderr] 49 |             mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 49 |             let _ = mem::replace(&mut self.status_p2[ship_type_id], curr_val - 1);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `lib_battleship` (lib) generated 2 warnings
[INFO] [stderr] warning: `lib_battleship` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lib_battleship-38959960b6cddf24)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test battlefield::battlefield::test::should_give_out_cell_references ... ok
[INFO] [stdout] test battlefield::cell::tests::assert_new_cells_are_empty_and_not_shot ... ok
[INFO] [stdout] test battlefield::cell::tests::assert_shooting_works ... ok
[INFO] [stdout] test battlefield::cell::tests::assert_shoot_sets_shot ... ok
[INFO] [stdout] test battlefield::ship_status::test::should_sum_player_health ... ok
[INFO] [stdout] test common::player::test::should_alternate_between_players ... ok
[INFO] [stdout] test game::test::a_hit_lets_you_shoot_again ... ok
[INFO] [stdout] test game::test::can_get_cell_status_for_opponent ... ok
[INFO] [stdout] test game::test::owner_cell_status_doesnt_show_misses ... ok
[INFO] [stdout] test game::test::destroying_a_ship_returns_ship_destroyed ... ok
[INFO] [stdout] test game::test::destroying_last_ship_wins_game ... ok
[INFO] [stdout] test game::test::shooting_at_empty_cells_is_a_miss ... ok
[INFO] [stdout] test battlefield::cell::tests::assert_ship_type_id_works ... ok
[INFO] [stdout] test game::test::shooting_at_filled_cells_is_a_hit ... ok
[INFO] [stdout] test battlefield::battlefield::test::should_return_width ... ok
[INFO] [stdout] test common::ship_type::test::constructor_should_work ... ok
[INFO] [stdout] test game::test::should_not_allow_shots_after_game_ends ... ok
[INFO] [stdout] test game::test::shooting_out_of_bounds_is_an_error ... ok
[INFO] [stdout] test game::test::should_return_dimensions ... ok
[INFO] [stdout] test game::test::should_return_contained_ship_types ... ok
[INFO] [stdout] test game::test::can_get_cell_status_for_owner ... ok
[INFO] [stdout] test game::test::should_tell_whos_turn_it_is ... ok
[INFO] [stdout] test pregame::test::can_get_cell_status ... ok
[INFO] [stdout] test pregame::test::constructor_should_check_dimensions ... ok
[INFO] [stdout] test pregame::test::should_allow_adding_ship_types ... ok
[INFO] [stdout] test pregame::test::should_allow_placing_ships ... ok
[INFO] [stdout] test pregame::test::should_disallow_placing_ships_of_unknown_type ... ok
[INFO] [stdout] test pregame::test::should_disallow_too_long_ship_types ... ok
[INFO] [stdout] test pregame::test::should_disallow_zero_length_ship_types ... ok
[INFO] [stdout] test pregame::test::should_not_start_when_no_ships_placed ... ok
[INFO] [stdout] test pregame::test::should_not_start_when_not_all_ships_placed ... ok
[INFO] [stdout] test game::test::should_respect_order_of_play ... ok
[INFO] [stdout] test pregame::test::should_disallow_placing_ships_on_top_of_each_other ... ok
[INFO] [stdout] test pregame::test::should_disallow_placing_ships_out_of_bounds ... ok
[INFO] [stdout] test pregame::test::should_disallow_placing_ships_twice ... ok
[INFO] [stdout] test pregame::test::should_return_dimensions ... ok
[INFO] [stdout] test pregame::test::should_start_game ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    Doc-tests lib_battleship
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/lib.rs - (line 6) ... ok
[INFO] [stdout] test src/game.rs - game::Game::shoot (line 62) ... ok
[INFO] [stdout] test src/pregame.rs - pregame::PreGame::place_ship (line 116) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c9ff2cbbbec9475b4305589e99e6b819eeae65eec6d787585153d9f9fc2119d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9ff2cbbbec9475b4305589e99e6b819eeae65eec6d787585153d9f9fc2119d1", kill_on_drop: false }`
[INFO] [stdout] c9ff2cbbbec9475b4305589e99e6b819eeae65eec6d787585153d9f9fc2119d1
